cc7de892975cba3de879f2cf6e3fccf8c0f2d512,src/main/java/hprose/server/HproseService.java,HproseService,beforeFilter,#ByteBuffer#ServiceContext#,1063

Before Change


        Object response;
        try {
            request = inputFilter(request, context);
            response = afterFilterHandler.handle(request, context);
        }
        catch (Throwable e) {
            response = endError(e, context);
            if (errorDelay > 0) {
                response = Promise.delayed(errorDelay, response);
            }
        }
        if (response instanceof Promise) {
            return ((Promise<ByteBuffer>)response).then(new Func<ByteBuffer, ByteBuffer>() {
                public ByteBuffer call(ByteBuffer value) throws Throwable {
                    return outputFilter(value, context);
                }
            });
        }
        return outputFilter((ByteBuffer)response, context);
    }

    protected void fireErrorEvent(Throwable e, ServiceContext context) {

After Change


        Promise<ByteBuffer> response;
        try {
            request = inputFilter(request, context);
            response = afterFilterHandler.handle(request, context).catchError(new AsyncFunc<ByteBuffer, Throwable>() {
                public Promise<ByteBuffer> call(Throwable e) throws Throwable {
                    return delayError(e, context);
                }